package com.cake.liulanxiangzhu.service;

import com.cake.liulanxiangzhu.pojo.entity.UserShop;
import com.cake.liulanxiangzhu.pojo.dto.UserShopDTO;
import com.cake.liulanxiangzhu.pojo.dto.UserShopUpdateDTO;
import com.cake.liulanxiangzhu.pojo.vo.UserShopVO;
import com.cake.liulanxiangzhu.web.JsonPage;

import javax.servlet.http.HttpServletRequest;

/**
 * 用户信息表(UserShop)表服务接口
 *
 * @author dinghao
 * @since 2023-02-21 21:02:27
 */
public interface UserShopService {

    /**
     * 通过ID查询单条数据
     *
     *
     * @param request@return 实例对象
     */
    UserShopVO queryById(HttpServletRequest request);

    /**
     * 分页查询
     *
     * @param userShop 筛选条件
     * @return 查询结果
     */
    JsonPage<UserShopVO> queryByPage(UserShop userShop,Integer page , Integer pageSize);
    /**
     * 新增数据
     *
     *
     * @param request
     * @param userShopDto 实例对象
     * @return 实例对象
     */
    void insert(HttpServletRequest request, UserShopDTO userShopDto);

    /**
     * 修改数据
     *
     *
     * @param request
     * @param userShopUpdateDto 实例对象
     * @return 实例对象
     */
    void update(HttpServletRequest request, UserShopUpdateDTO userShopUpdateDto);

    /**
     * 通过主键删除数据
     *
     * @param userId 主键
     * @return 是否成功
     */
    void deleteById(Integer userId);

    /**
     * 会员充值
     *
     * @param request
     * @param userShopUpdateDTO
     * @return 实例对象
     */
    void recharge(HttpServletRequest request, UserShopUpdateDTO userShopUpdateDTO );

}
